#！/bin/bash
#设置日期变量
dt=$(date -d "-1 day" +'+%Y-%m-%d')
#sql脚本目录
SQL_DIR="/aml/dwd/sql"
LOG_DIR="/aml/dwd/log"
#定义要执行的sql文件
TABLES=("dim_aml_customer" "dim_aml_account" "dim_aml_watchlist" "dim_aml_rule"
		"fact_aml_transaction" "fact_aml_screening" "fact_aml_alert" "fact_aml_str_report")
# 循环执行每个 SQL 文件
for table in "${TABLES[@]}"; do
    sql_file="${SQL_DIR}/dwd_inc_${table}.SQL"
    log_file="${LOG_DIR}/dwd_inc_${table}_${dt}.log"

    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 开始执行: ${table}" >> ${log_file}
# 判断 SQL 文件是否存在
    if [ ! -f "${sql_file}" ]; then
        echo "ERROR: SQL 文件不存在 -> ${sql_file}" >> ${log_file}
        continue
    fi

    # 执行 Hive SQL，传入变量 dt，输出日志
    hive \
        -hiveconf dt=${dt} \
        -f "${sql_file}" \
        >> ${log_file} 2>&1
done

echo "[$(date '+%Y-%m-%d %H:%M:%S')] 所有增量任务执行完成"